#!/bin/bash
# sudo apt update && sudo apt install genisoimage -y
# 安装 whois 工具（包含 mkpasswd）
# sudo apt update && sudo apt install whois -y
# 生成 SHA-512 加密密码（交互式输入密码）
# mkpasswd -m sha-512

cat <<EOF > user-data
#cloud-config
bootcmd:
  - cat /proc/cmdline > /tmp/cmdline
  - sed -i'' 's/$/ autoinstall/g' /tmp/cmdline
  - mount -n --bind -o ro /tmp/cmdline /proc/cmdline
autoinstall:
  version: 1
  interactive-sections: []  # 空列表表示不等待任何确认
  # 1. 身份配置（用户名 root，密码 123456）
  identity:
    hostname: ubuntu-server
    username: ubuntu
    password: "\$6\$mPom0chLUyC5Qsfw$/kezSgnKWAz0aAmB32DWRRIIw/ODD5UW4/7KN83D6cOuA6QT40.Rj.cSl1VlrUecyLOmgUQ1de9NSkCsOh56f."  # 123456 的加密值
  # 2. 磁盘配置（自动使用全部空间）
  storage:
    layout:
      name: direct
      match:
        size: largest  # 使用最大可用磁盘
  # 3. 启用 SSH 并允许密码登录
  ssh:
    install-server: true  # 安装 OpenSSH
    allow-pw: true        # 允许密码登录
    # ↓↓↓ 关键：允许 root 登录（Ubuntu 默认禁止）
    allow-root: true
  # 4. 自动更新（可选）
  # updates: security
  # 5. 跳过交互式界面
  early-commands:
    - systemctl stop ssh  # 防止安装时端口冲突
  # 在安装成功完成并安装任何更新和软件包之后运行的 Shell 命令
  late-commands:
    - curl https://gitee.com/ethanzhu/one-click-install-script/raw/master/ubuntu/deploy.sh -o /target/usr/local/bin/deploy.sh
EOF
touch meta-data

mkisofs -output autoinstall.iso -volid cidata -joliet -rock user-data meta-data
